home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Apple WWDC 1996
/
WWDC96_1996 (CD).toast
/
Technology Materials
/
MacOS 8 Resources
/
Developer Tools
/
Mac OS 8 Interfaces & Libraries
/
Interfaces
/
IDLIncludes
/
MacTCP.idl
< prev
next >
Wrap
Text File
|
1996-05-01
|
7KB
|
209 lines
/*
File: MacTCP.idl
Contains: TCP Manager Interfaces.
Version: Technology: MacTCP 2.0.6
Release: Universal Interfaces 3.0d3 on Copland DR1
Copyright: © 1984-1996 by Apple Computer, Inc. All rights reserved.
Bugs?: If you find a problem with this file, send the file and version
information (from above) and the problem description to:
Internet: apple.bugs@applelink.apple.com
AppleLink: APPLE.BUGS
*/
#ifndef __MACTCP_IDL__
#define __MACTCP_IDL__
#include <somobj.idl>
#include <somcls.idl>
#ifndef __TYPES_IDL__
#include <Types.idl>
#endif
#ifndef __MIXEDMODE_IDL__
#include <MixedMode.idl>
#endif
#ifndef __APPLETALK_IDL__
#include <AppleTalk.idl>
#endif
#ifdef __SOMIDL__
#if FOR_SYSTEM7_AND_SYSTEM8_DEPRECATED
/*
Developer Notes:
0. This MacTCP header replaces what used to be defined in the following header files
MacTCPCommonTypes.h
GetMyIPAddr.h
MiscIPPB.h
TCPPB.h
UDPPB.h
When the various control calls are made to the ip driver, you must set up a
NewRoutineDescriptor for every non-nil completion routine and/or notifyProc parameter.
Otherwise, the 68K driver code, will not correctly call your routine.
1. For ipctlGetAddr Control calls, use NewGetIPIOCompletionProc
to set up a GetIPIOCompletionUPP universal procptr to pass as
the ioCompletion parameter.
2. For the ipctlEchoICMP and ipctlLAPStats Control calls, use
NewIPIOCompletion to set up a IPIOCompletionUPP universal procptr
to pass in the ioCompletion field of the parameter block.
3. For TCPCreatePB Control calls, use NewTCPNotifyProc to set up a
TCPNotifyUPP universal procptr to pass in the notifyProc field
of the parameter block
4. For all of the TCP Control calls using the TCPiopb parameter block,
use NewTCPIOCompletionProc to set up a TCPIOCompletionUPP
universal procptr to pass in the ioCompletion field of the paramter
block.
5. For UDBCreatePB Control calls, use NewUDPNotifyProc to set up a
UDPNotifyUPP universal procptr to pass in the notifyProc field
of the parameter block
6. For all of the UDP Control calls using the UDPiopb parameter block,
use NewUDPIOCompletionProc to set up a UDPIOCompletionUPP
universal procptr to pass in the ioCompletion field of the paramter
block.
7. For all calls implementing a notifyProc or ioCompletion routine
which was set up using a NewTCPRoutineProc call, do not call
DisposeRoutineSDescriptor on the universal procptr until
after the completion or notify proc has completed.
*/
/* MacTCP return Codes in the range -23000 through -23049 */
/* Error codes from internal IP functions */
/* 8-bit quantity */
typedef UInt8 b_8;
/* 16-bit quantity */
typedef UInt16 b_16;
/* 32-bit quantity */
typedef UInt32 b_32;
/* IP address is 32-bits */
typedef b_32 ip_addr;
typedef SOMLargeStruct ip_addrbytes; /* Derived from a struct of 8 bytes in size */
typedef SOMLargeStruct wdsEntry; /* Derived from a struct of 6 bytes in size */
typedef SOMLargeStruct rdsEntry; /* Derived from a struct of 6 bytes in size */
typedef unsigned long BufferPtr;
typedef unsigned long StreamPtr;
typedef unsigned short ICMPMsgType;
typedef b_16 ip_port;
typedef SOMLargeStruct ICMPReport; /* Derived from a struct of 24 bytes in size */
/* csCode to get our IP address */
typedef OpaquePtr GetIPIOCompletionProcPtr;
typedef OpaquePtr GetIPIOCompletionUPP;
typedef SOMLargeStruct GetAddrParamBlock; /* Derived from a struct of 36 bytes in size */
/* control codes */
typedef OpaquePtr IPIOCompletionProcPtr;
typedef OpaquePtr IPIOCompletionUPP;
typedef SOMLargeStruct ICMPParamBlock; /* Derived from a struct of 72 bytes in size */
typedef OpaquePtr ICMPEchoNotifyProcPtr;
typedef OpaquePtr ICMPEchoNotifyUPP;
typedef SOMLargeStruct IPParamBlock; /* Derived from a struct of 58 bytes in size */
typedef SOMLargeStruct nbp_entry; /* Derived from a struct of 136 bytes in size */
typedef SOMLargeStruct Enet_addr; /* Derived from a struct of 6 bytes in size */
typedef SOMLargeStruct arp_entry; /* Derived from a struct of 14 bytes in size */
typedef SOMLargeStruct LAPStatsAddrXlation; /* Derived from a struct of 8 bytes in size */
typedef SOMLargeStruct LAPStats; /* Derived from a struct of 24 bytes in size */
/* number of ARP table entries */
/* Command codes */
typedef unsigned short TCPEventCode;
typedef unsigned short TCPTerminationReason;
typedef OpaquePtr TCPNotifyProcPtr;
typedef OpaquePtr TCPNotifyUPP;
typedef unsigned short tcp_port;
/* ValidityFlags */
/* TOSFlags */
typedef SOMLargeStruct TCPCreatePB; /* Derived from a struct of 16 bytes in size */
typedef SOMLargeStruct TCPOpenPB; /* Derived from a struct of 66 bytes in size */
typedef SOMLargeStruct TCPSendPB; /* Derived from a struct of 20 bytes in size */
/* for receive and return rcv buff calls */
/* Note: the filler in the following structure is in a different location than */
/* that specified in the Programmer's Guide. */
typedef SOMLargeStruct TCPReceivePB; /* Derived from a struct of 22 bytes in size */
typedef SOMLargeStruct TCPClosePB; /* Derived from a struct of 8 bytes in size */
typedef SOMLargeStruct HistoBucket; /* Derived from a struct of 6 bytes in size */
typedef SOMLargeStruct TCPConnectionStats; /* Derived from a struct of 86 bytes in size */
typedef SOMLargeStruct TCPStatusPB; /* Derived from a struct of 70 bytes in size */
typedef SOMFourByteStruct TCPAbortPB; /* Derived from a struct of 4 bytes in size */
typedef SOMLargeStruct TCPParam; /* Derived from a struct of 24 bytes in size */
typedef SOMLargeStruct TCPStats; /* Derived from a struct of 52 bytes in size */
typedef OpaquePtr StreamPPtr; /* Substituted OpaquePtr for ``StreamPtr*'' */
typedef SOMLargeStruct TCPGlobalInfoPB; /* Derived from a struct of 18 bytes in size */
typedef OpaquePtr TCPIOCompletionProcPtr;
typedef OpaquePtr TCPIOCompletionUPP;
typedef SOMLargeStruct TCPiopb; /* Derived from a struct of 256 bytes in size */
typedef unsigned short UDPEventCode;
typedef OpaquePtr UDPNotifyProcPtr;
typedef OpaquePtr UDPNotifyUPP;
typedef unsigned short udp_port;
/* for create and release calls */
typedef SOMLargeStruct UDPCreatePB; /* Derived from a struct of 20 bytes in size */
typedef SOMLargeStruct UDPSendPB; /* Derived from a struct of 22 bytes in size */
/* for receive and buffer return calls */
typedef SOMLargeStruct UDPReceivePB; /* Derived from a struct of 26 bytes in size */
typedef SOMLargeStruct UDPMTUPB; /* Derived from a struct of 10 bytes in size */
typedef OpaquePtr UDPIOCompletionProcPtr;
typedef OpaquePtr UDPIOCompletionUPP;
typedef SOMLargeStruct UDPiopb; /* Derived from a struct of 110 bytes in size */
#endif
#endif /* __SOMIDL__ */
#endif /* __MACTCP_IDL__ */